home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / wildcat / ffeed35a.zip / FFEED35.TXT < prev    next >
Text File  |  1992-07-05  |  20KB  |  498 lines

  1.                                 ForceFeed
  2.                                Version 3.5
  3.  
  4.                              A DoorFrame Door
  5.                      (Requires BRUN45.EXE In The Path)
  6.                             
  7.  
  8.                                Written by
  9.  
  10.                               Shawn McGill
  11.                              The IMPROV BBS
  12.                              (502) 893-8102
  13.                                  USR/DS
  14.  
  15.                               Wildcat 3.01
  16.  
  17.                               July 5, 1992
  18.  
  19.  
  20. I hate writing Docs, so I'll keep this as short and sweet as possible.
  21. Forcefeed was conceived as a way to make my new callers download my
  22. application file that is required for access to the IMPROV BBS. 
  23.  
  24. Despite several screens telling them that I required them to download
  25. the file, many still did not. Some because they weren't about to, but
  26. some were simply new modemers, and didn't have the vaguest idea what a
  27. download even was!
  28.  
  29. I decided to write a door that would force them to download the
  30. application file, and Forcefeed was born. I use it as a menu hook off
  31. the main menu. My new callers have only three choices: they can Press
  32. [G]oodbye, [C]omment, or [A]uto-Application Download.
  33.  
  34. If they select "A", they enter this door, which leads them through the
  35. download procedure, and sends them the file. If they successfully
  36. download it, their security profile is upgraded, and the size of the
  37. file is added to their user record KBytes total, as well as one file.
  38.  
  39. When they come back out of the door after a successful download, they
  40. re-enter the system as a temporary user. If they did not successfully
  41. download the file, they are given another chance. If the file is not
  42. sent, no changes are made, and they're still looking at that 3-option
  43. new user main menu.
  44.  
  45. WHAT'S NEW WITH VERSION 3.5:
  46.  
  47. Version 3.5 is updated to work with the new release of Wildcat (3.5).
  48. The boys at MSI added a line to USERINFO.DAT, so version 3.3 of FFEED
  49. will no longer work with it. I recompiled the door with a newer version
  50. of DoorFrame that takes this added USERINFO.DAT line into account, and
  51. all should be fine now.
  52.  
  53. Other than a couple of clean-ups to the original source code, no other
  54. changes to FFEED were made. The newest features of version 3.3 are
  55. outlined in the section that follows this one.
  56.  
  57. Version 3.5 expires on 9/1/92. This should be sufficient time to see if
  58. it will run on your system, and if it meets your needs. After this time,
  59. it must be registered.
  60.  
  61.  
  62. WHAT'S NEW WITH VERSION 3.3:
  63.  
  64. With version 3.3, I moved the help file, and introduction screen
  65. to external text files. The main reason I did this was to allow users
  66. to be able to use the door for other things than simply forcing a 
  67. caller to download your application file. Most of the wording has been
  68. made unambiguous enough that you could send about any file to your
  69. callers. With the presidential elections coming up, you could have your
  70. callers download your favorite candidate's speech, or you could have your
  71. field representatives download new price sheets, or your users could 
  72. download your club's newsletter. You could start a "GIF of the Week Club"
  73. and set up the door to send a features GIF file at the touch of a key!
  74.  
  75. You know your needs better than I do, of course, and I think with the 
  76. new generic screens, and the sysop-creatable help and introduction screens, 
  77. you should be able to find any number of uses.
  78.  
  79. I have included generic example screens that I use to upgrade new callers.
  80. You can edit these screens to your own uses with any ascii text editor, but
  81. they must be named HELPFILE.TXT and SENDFORM.TXT respectively.
  82.  
  83. In conjunction with the above-mentioned desire to make FFEED more useful,
  84. I also made it possible to NOT change a user's security profile level.
  85. If you were allowing users with several different security levels to use
  86. the door before, they would have all ended up with the same level you
  87. specified in the CFG file. No more! Sometimes you don't want to change the
  88. level, and if you put "NOCHANGE" in the proper field in the CFG file now,
  89. it will leave the user's level at whatever it was when he entered the door.
  90.  
  91. Of course, anything else in the "Upgrade Security" filed of the CFG file 
  92. will cause the program to change the user's level to that profile, just
  93. as it did before.
  94.  
  95.  
  96. WARRANTY:
  97.  
  98. None. I don't guarantee anything about this software. It may not even
  99. run. It is running on several systems beautifully, including my own,
  100. but I don't guarantee that it will on yours. I won't even guarantee 
  101. that it won't trash all your datafiles, and render your hard drive
  102. unusable for the next three generations. All I can tell you is that 
  103. it hasn't hurt mine. In other words, you are using this software entirely
  104. at your own risk. There are no warranties expressed or implied.
  105.  
  106. This door has been successfully run on a single node system under DOS,
  107. on a three node system under Desqview, and a three node system under
  108. 4-DOS that I know of. During testing, files were successfully transferred 
  109. at speeds from 300 baud to 14,400.
  110.  
  111.  
  112.  
  113. CAVEAT:
  114.  
  115. One sysop I know says he uses DSZ and in particular the DSZLOG function
  116. for recording upload and download stats with his com program. If you are
  117. using the DSZLOG feature of true DSZ (not the zmodem that is built into
  118. Wildcat or many terminal programs, but as an external protocol), then you
  119. may want to set up your batch file differently than the one I have as an
  120. example below. It is possible to set the DSZLOG environment variable at the
  121. beginning of the DOORx.RUN, and release it before returning to Wildcat after
  122. executing the door, but unless you increase the default environment size a
  123. bit, you'll likely run out of environment space. ForceFeed needs to parse 
  124. the DSZLOG to determine if a download went through, and deletes the log 
  125. when it is finished.
  126.  
  127. There has also been an announcement that version 3.5 of Wildcat! will support
  128. any protocols that use the standard DSZ.LOG format. I can only think that
  129. this will cause some interference, so setting the DSZLOG environment variable
  130. in the calling batch file, and releasing it when the door is done might prove
  131. to be necessary to preserve FFEED's compatibility when WC 3.5 appears.
  132.  
  133. When I tried to set the environment variable for setting DSZLOG (explained 
  134. later) in the calling batch file, and then release it before returning to the
  135. board, I ran out of environment space. By including the line:
  136.  
  137.            SHELL=C:\COMMAND.COM /P /E:2048
  138.  
  139. in my CONFIG.SYS, I was able to give my environment enough room to add the
  140. SET DSZLOG= variable (explained later) from the DOORx.RUN file instead of
  141. setting it in AUTOEXEC.BAT. Consult your DOS manual for a more detailed
  142. explanation. Remember, any for any changes to your CONFIG.SYS file to take 
  143. effect, you must reboot your machine.
  144.  
  145.  
  146. SETUP:
  147.  
  148. The setup of this door is a little unusual, but nothing too bad. The
  149. following steps should have you up and running in no time (I hope!)...
  150.  
  151.  
  152. Step 1.
  153.  
  154. Create a directory and unzip all the files in this archive into it.
  155.  
  156.  
  157. Step 2.
  158.  
  159. Edit the following files:
  160.     
  161.  
  162.     FFEED35.CFG
  163.  
  164.     The FFEED35.CFG file's name is not critical, since you will pass
  165.     it to the program on the command line, but it must contain the
  166.     following lines:
  167.  
  168.         Full path to DOOR.SYS
  169.         The BBS's Name
  170.         Sysop's First Name
  171.         Sysop's Last Name
  172.         Full path to USERINFO.DAT
  173.         The name of your application file
  174.         The security profile name to upgrade to (or "NOCHANGE")
  175.         The Full path/name of the display file created
  176.         
  177.  
  178.     Optionally, you can run FFINSTAL.EXE from your door directory, and
  179.     this CFG file will be created for you.
  180.  
  181.  
  182.     As you can see, it's much like every other door you
  183.     ever set up, except that it looks for DOOR.SYS and USERINFO.DAT
  184.     instead of CALLINFO.BBS.
  185.  
  186.     If you don't want a bulletin created of who's been
  187.     successfully through the process, just put any filename on that
  188.     line, and delete that file in your calling batch file when you
  189.     return from the door. For example, you could enter BOGUS.TXT on
  190.     that line, and make the last line of your calling batch file
  191.     delete it every time it runs. 
  192.  
  193.     You can also delete FFEED.DAT, which is created by ForceFeed to
  194.     keep track of the door's transactions, if you don't want to
  195.     maintain a display screen. I reset my ForceFeed door every month by
  196.     simply deleting the FFEED.DAT file on the first of each month.
  197.  
  198.  
  199.  
  200.     A sample FFEED35.CFG file might look like this:
  201.  
  202.  
  203.         C:\WC30\WCWORK\NODE1\DOOR.SYS
  204.         The IMPROV BBS
  205.         Shawn
  206.         McGill        
  207.         C:\WC30\WCWORK\NODE1\USERINFO.DAT
  208.         IMPROV.APP
  209.         TEMPORARY
  210.         C:\WC30\DISP\HELLO1N.BBS
  211.  
  212.  
  213.     MAIN1.RUN
  214.  
  215.     This is the batch file that calls ForceFeed from your main menu
  216.     "hook". Of course, it could also be run from the doors menu
  217.     (DOORx.RUN), or from the File menu (FILEx.RUN) or Message Menu
  218.     (MSG1.RUN), but that kind of defeats the purpose, doesn't it?
  219.  
  220.     Anyway you choose to run it, it's pretty straightforward. 
  221.  
  222.         CD\FFEED (or whatever directory you created)
  223.         FFEED35 FFEED35.CFG
  224.  
  225.     If you choose to enlarge your environment space as discussed
  226.     above, and set the DSZLOG environment variable from the batch
  227.     file, then your MAINx.RUN would resemble:
  228.  
  229.         CD\FFEED
  230.         SET DSZLOG=C:\FFEED\DSZLOG.LOG (This sets the variable)
  231.         FFEED35 FFEED35.CFG            (Run the program)
  232.         SET DSZLOG=                   (This releases the variable)
  233.  
  234.  
  235.     That's it! This file (if it's a "RUN") should be in your node
  236.     directory. If you elected to make it a "BAT", then put it in
  237.     your main WC directory (eg. C:\WC30).
  238.  
  239.  
  240.     FFEED.DEF
  241.  
  242.     FFEED.DEF is a "dummy" file that is used to help determine if a
  243.     download was successful. In the event a caller drops carrier
  244.     before the transfer ever starts, DSZ does not create the LOG
  245.     file that FFEED uses to determine the success of the transfer.
  246.     Since the LOG won't exist at this point, it would be impossible
  247.     to tell if things went wrong. This file must exist in the FFEED 
  248.     directory so that FFEED can tell if a caller dropped carrier 
  249.     before the download began.
  250.  
  251.     It should contain the name of the application file you want the
  252.     door to send to the caller. One line, that's it.
  253.  
  254.     A sample FFEED.DEF file on the IMPROV BBS might contain:
  255.  
  256.         IMPROV.APP
  257.  
  258.     which is the name of my application file, and also matches line 6
  259.     of your configuration file, you may notice.
  260.  
  261.  
  262.     SENDFORM.TXT & HELPFILE.TXT
  263.     
  264.     These are the ascii text files that are sent to the caller to
  265.     explain the purpose of the door, and if he hits the HELP option
  266.     from the menu. You can read my examples that are included, and
  267.     should be able to get a good idea of what these files are intended
  268.     to convey.
  269.  
  270.     If you're using this door for something other than forcing
  271.     registration downloads, you'll certainly want to edit them to suit
  272.     your purposes. Just make sure you use the filemanes SENDFORM.TXT and
  273.     HELPFILE.TXT. According to the DoorFrame Docs, these files can be
  274.     ANSI color files, if you like, but I haven't tried that, and
  275.     I don't know what a non-ansi caller would see. If it works, let me
  276.     know <g>!
  277.  
  278. STEP 3.
  279.  
  280. Since FFEED uses Zmodem protocols, you must have DSZ.EXE or DSZ.COM in
  281. your FFEED directory. I suppose you could simply have it somewhere on
  282. your path, but I have only run this door with a copy of DSZ in the same
  283. directory, and since it worked, I didn't try it anywhere else.
  284.  
  285. The final step is to edit your AUTOEXEC.BAT to include the following line:
  286.  
  287.         SET DSZLOG=C:\FFEED\DSZLOG.LOG
  288.  
  289. This is very important, as it activates DSZ's log function, and FFEED
  290. uses this log to determine whether the caller successfully downloaded
  291. the file you have specified. Remember that you must reboot after making
  292. this edit for it to take effect.
  293.  
  294. You can either set this environment varaible in your AUTOEXEC.BAT file as
  295. described here, or you can set it in your calling batch file, as discussed
  296. in the "CAVEAT" section above, provided you have enough environment space
  297. set up to hold it. It MUST be set, whichever way you decide to go, so that
  298. FFEED will work properly.
  299.  
  300. The path in the SET statement above is intended to path to the
  301. directory you created for ForceFeed. We want DSZ to create the log in
  302. the ForceFeed directory, so make the above line point to the directory
  303. you created for the ForceFeed files! The log file must be called
  304. DSZLOG.LOG, though!!!
  305.  
  306. PLEASE READ CAREFULLY THE "CAVEAT" SECTION ABOVE IN REGARDS TO USING
  307. DSZLOG AND THIS DOOR!!!
  308.  
  309. DSZ is the property of Omen Technology, INC, and in my opinion is the
  310. finest transfer protocol driver available. It is available for download
  311. on most every BBS in the country, if you don't already have a copy of it.
  312. I encourage you to register your copy of DSZ, although this door will
  313. run with the features available in the shareware versions.
  314.  
  315.  
  316. AUTO-NOTIFICATION FEATURE:
  317.  
  318. I have made FFEED send a short text file each time it runs. This file
  319. will be created in the default FFEED directory (the one you run the 
  320. door from). It includes the user's name, the time, and the date, and
  321. whether or not he was successfully ForceFed. This text file is suitable
  322. for importation into a message. The reason I did this, was so that anyone
  323. who uses a program such as PostMaster could send themselves a message to
  324. let them know that someone had used the door.
  325.  
  326. If you use a program such as PostMaster, you can send yourself (or your
  327. userbase co-sysop, for example) a message using this text file. This
  328. file is called LASTCALL.TXT. It is overwritten each time ForceFeed runs.
  329.  
  330. A batch file such as the following would send me a message each time the
  331. door runs:
  332.  
  333.    CD\FFEED
  334.    SET DSZLOG=C:\FFEED\DSZLOG.LOG
  335.    FFEED35 FFEED35.CFG
  336.    SET DSZLOG=
  337.    CD\WC30
  338.    POSTMSTR /I:C:\FFEED\LASTCALL.TXT /T:SYSOP /F:DOOR /S:FFEED ACTIVITY /P
  339.    DEL C:\FFEED\LASTCALL.TXT
  340.  
  341. The reason I delete the LASTCALL.TXT file after each run is because if a 
  342. user just went into the door, and came right back out, a new LASTCALL.TXT
  343. wouldn't be generated, and PostMaster would send you a second copy of the
  344. previous caller's notification. If you delete LASTCALL each time, and a user
  345. goes in and out without trying to dl your app, PostMaster simply won't find
  346. the source file, and no message will be sent.
  347.  
  348. Please consult the PostMaster Docs for an explanation of the various command
  349. line switches used by PostMaster.
  350.  
  351. PostMaster is a great Wildcat! utility written by Dave Cody of Boardwalk
  352. Software. It is copyright 1992 by Dave Cody. PostMaster is available for
  353. download on many Wildcat systems, or directly from Dave Cody's board,
  354. The Boardwalk at (206) 941-3124.
  355.  
  356.  
  357.  
  358. RECAP:
  359.  
  360. To recap, the following files should be found in your Door directory:
  361.  
  362.         FFEED35.EXE
  363.         FFEED35.CFG
  364.         HELPFILE.TXT
  365.         SENDFORM.TXT
  366.         Your Application File
  367.         DSZ.EXE or DSZ.COM
  368.         FFEED.DEF
  369.  
  370. The Batch file that you call the door with should be in your main WC30
  371. Directory if it's a ???.BAT file, and in your node directory if it's a
  372. ???.RUN file.
  373.  
  374.  
  375.  
  376. HISTORY:
  377.  
  378. The original Catpatch version was released on April 5, 1992. It had
  379. some problems on non-standard platforms, probably because of the
  380. Catpatch routines, themselves.
  381.  
  382. Version (3.1) was released on April 26, 1992. I rewrote the door, this
  383. time using DoorFrame routines. This was done in an effort to give it
  384. some improved I/O routines, and wider compatibility. Non-standard IRQ's
  385. are now supported, along with much higher baud rates.
  386.  
  387. Version (3.1a) was released on May 6, 1992. Nothing was changed about the
  388. door itself, but I updated the docs to include an explanation of
  389. the need for the FFEED.DEF file, which was left out of the previous
  390. DOCS. I also added a warning about FFEED's use of the DSZLOG function.
  391.  
  392. Version (3.2) was released on May 29, 1992. I added the ability to interface
  393. with programs such as PostMaster by having ForceFeed create a small text
  394. file called LASTCALL.TXT which contains a message telling if a user either 
  395. did or did not successfully download the app file. By using a program such 
  396. as PostMaster, you can send yourself or your userbase co-sysop a formal 
  397. message notifying of FFEED activity. This saves your having to go looking
  398. for the information. It will be "ForceFed" to you! <g>... LASTCALL.TXT is
  399. overwritten each time the door runs, so if you choose not to use this 
  400. feature, you can just ignore it, and the file will never grow any bigger.
  401.  
  402. Version (3.3) was released on June 5, 1992. I added the capability to NOT
  403. change a user's security level by putting NOCHANGE in the upgrade profile
  404. level in the CFG file. I also changed the internal screens to more
  405. generic wording and moved the SENDFORM.TXT and HELPFILE.TXT screens to 
  406. external ascii text files to allow the sysop to use the door for a wider
  407. range of possible applications.
  408.  
  409. Version (3.5) was released on July 5, 1992. FFEED was recompiled with an 
  410. updated version of the DoorFrame routines. Since Wildcat added a line to
  411. the USERINFO.DAT file with version 3.5, I had to change a line or two of 
  412. code, and use the newer DF routines to deal with this change. No other 
  413. changes in the program were made, except to make it compatible with the
  414. new Wildcat release. This version will not work with versions of Wildcat
  415. earlier than version 3.5!
  416.  
  417.  
  418.  
  419. SUPPORT
  420.  
  421. I will support this door through my BBS, The IMPROV at (502) 893-8102
  422. (USR/DS). I am a member of ThrobNet (known as "Al Bundy"). I also
  423. call the MSI Support Board on a regular basis.
  424.  
  425. REGISTRATION
  426.  
  427. This door will expire on 09/01/92. That should be sufficient time to
  428. see if it will run on your system, and whether it meets your needs.
  429. After a reasonable evaluation time, you must either register it, or
  430. delete it from use on your system.
  431.  
  432. Registration is $20.00.
  433.  
  434. When you complete the registration form, I will pre-register you on my
  435. BBS, and make your registered copy available for you to download when
  436. it's ready. Future updates will also be made available for you to download
  437. as they are released. It'll be up to you to call in from time to time
  438. to check for updates.
  439.  
  440. Those who register will receive a copy without the expiration routines,
  441. and their name and registration number will be included on the initial
  442. intro screen. Registered users will also be entitled to any future
  443. versions of this program, which will be available for download on my
  444. BBS at V.32 & HST speeds (USR/DS).
  445.  
  446.  
  447. ------------------------------ Tear off Here ----------------------------------
  448.  
  449.  
  450.                             ForceFeed Registration
  451.                      v 3.5
  452.  
  453.  
  454. Name:________________________________________
  455.  
  456.  
  457. BBS NAME:____________________________________
  458.  
  459.  
  460. BBS PHONE:___________________________________
  461.  
  462.  
  463. Mailing Address:______________________________________________
  464.  
  465.  
  466. City:_____________________________________ State:_____________________
  467.  
  468.  
  469. Date:_______/_______/________
  470.  
  471.  
  472. Please enter a name so I can pre-register you on my BBS. I check my P.O.Box
  473. about once a week, so be patient... <g>.. I will have your copy ready for
  474. download the next day after I receive this form and your payment.
  475.  
  476.  
  477.  
  478.     NAME:_____________________________________
  479.  
  480.     PASSWORD:_________________________________
  481.  
  482.     D.O.B:_______/_______/_______
  483.  
  484.  
  485. Registration: $20.00  Please check one:   Check_____    Money Order_______
  486.  
  487.  
  488. Make Payable to:
  489.  
  490.     Shawn McGill
  491.     P.O.Box 6148
  492.     Louisville, KY
  493.         40207
  494.  
  495. Thanks for supporting Shareware!
  496.  
  497.  
  498.